/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.settlement.entity.investorsettlement;

import org.hibernate.validator.constraints.Length;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 资方结算单Entity
 * @author Kilo
 * @version 2021-03-10
 */
@Table(name="t_investor_settlement_prepayment", alias="a", columns={
		@Column(name="investor_settlement_prepayment_id", attrName="investorSettlementPrepaymentId", label="资方结算单预付款ID", isPK=true),
		@Column(name="prepayment_code", attrName="prepaymentCode", label="预付款单号"),
		@Column(name="prepayment_type", attrName="prepaymentType", label="预付款类型"),
		@Column(name="amount", attrName="amount", label="金额"),
		@Column(name="verification_amount", attrName="verificationAmount", label="已核销金额"),
		@Column(name="remaining_amount", attrName="remainingAmount", label="剩余金额"),
		@Column(name="investor_settlement_id", attrName="investorSettlementId.investorSettlementId", label="资方结算单ID"),
	}, orderBy="a.investor_settlement_prepayment_id ASC"
)
public class InvestorSettlementPrepayment extends DataEntity<InvestorSettlementPrepayment> {
	
	private static final long serialVersionUID = 1L;
	private String investorSettlementPrepaymentId;		// 资方结算单预付款ID
	private String prepaymentCode;		// 预付款单号
	private String prepaymentType;		// 预付款类型
	private Double amount;		// 金额
	private Double verificationAmount;		// 已核销金额
	private Double remainingAmount;		// 剩余金额
	private InvestorSettlement investorSettlementId;		// 资方结算单ID 父类
	
	public InvestorSettlementPrepayment() {
		this(null);
	}


	public InvestorSettlementPrepayment(InvestorSettlement investorSettlementId){
		this.investorSettlementId = investorSettlementId;
	}
	
	public String getInvestorSettlementPrepaymentId() {
		return investorSettlementPrepaymentId;
	}

	public void setInvestorSettlementPrepaymentId(String investorSettlementPrepaymentId) {
		this.investorSettlementPrepaymentId = investorSettlementPrepaymentId;
	}
	
	@Length(min=0, max=100, message="预付款单号长度不能超过 100 个字符")
	public String getPrepaymentCode() {
		return prepaymentCode;
	}

	public void setPrepaymentCode(String prepaymentCode) {
		this.prepaymentCode = prepaymentCode;
	}
	
	@Length(min=0, max=2, message="预付款类型长度不能超过 2 个字符")
	public String getPrepaymentType() {
		return prepaymentType;
	}

	public void setPrepaymentType(String prepaymentType) {
		this.prepaymentType = prepaymentType;
	}
	
	public Double getAmount() {
		return amount;
	}

	public void setAmount(Double amount) {
		this.amount = amount;
	}
	
	public Double getVerificationAmount() {
		return verificationAmount;
	}

	public void setVerificationAmount(Double verificationAmount) {
		this.verificationAmount = verificationAmount;
	}
	
	public Double getRemainingAmount() {
		return remainingAmount;
	}

	public void setRemainingAmount(Double remainingAmount) {
		this.remainingAmount = remainingAmount;
	}
	
	public InvestorSettlement getInvestorSettlementId() {
		return investorSettlementId;
	}

	public void setInvestorSettlementId(InvestorSettlement investorSettlementId) {
		this.investorSettlementId = investorSettlementId;
	}
	
}